前のページ   後のページ   目次へ

********************************

       ■■■■
     ■    ■       ■        ■
     ■           ■■■      ■■■
     ■    ■       ■        ■
       ■■■■
               〜基礎から ★ C++Programing〜
********************************

  【注意】 このマガジンは、最大化してお読みください。
       また、等角フォントでお読みください。
          (MS ゴシックなど)

********************************

 発行者      むーくん
 マガジンNO.  65(5−5)
 発行日      2001/2/14
 講読人数     2000名ぐらい
 マガジンID   0000050494
          このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★

今日はバレンタインデー、らしい。
全く縁遠いので、勝手に盛り上がってください。
誰か、きれいな想い出をください。

********************************






********************************
★目次★

・例題1
・用語説明
・予告

********************************
★例題1★

・階乗を求めるプログラムを作成しなさい。
 階乗とは、「4!=4×3×2×1」の様なものです。

 但し、初期数はユーザーに入力させなさい。

#include<iostream>
using namespace std;

int main(void){
    double ans;
    int i, n;

    cout << "初期数を入力せよ。 : ";
    cin >> n;

    for(i=n,ans=1; i>0; i--){
        ans *= i;
    }
    cout << n << "! = " << ans << " です。" << endl;
    return 0;
}

【解説】
for文に注目してください。
「初期化」の部分を、カンマで区切って2つ初期化しています。
1つは「i=n」、もう1つは「ans=1」。
カンマで区切ると、複数の文を一つの文として扱うことができます。

普通、カンマで区切ってはいけないのは、この効果と区別するためです。


ansを浮動小数点で宣言しているのは、オーバーフローを防ぐためです。
階乗を求める場合、初期値が大きくなると、値は爆発的に大きくなり、
intの限界をすぐに超えてしまいます。
       
********************************
★用語説明★

オーバーフロー
  値が大きくなりすぎて、変数に入りきれなくなること。

********************************
★予告★

・do-while文を学習します。

********************************






********************************


講読解除はこちら

http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

内容について質問やご意見など
smukun@hotmail.com

筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/

************************************

前のページ   後のページ   目次へ

[PR]話題の新車を無料プレゼント中:必ず当る抽選会!今すぐ応募で簡単GET